home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 41 / Amiga Format CD41 (1999-06)(Future Publishing)(GB)[!][issue 1999-07].iso / -screenplay- / otherstuff / qspeedguide / qspeedguide.txt < prev    next >
Text File  |  1999-04-20  |  5KB  |  126 lines

  1. Short:    Guide for speeding up Quake modifications.
  2. Uploader: christian.michael@groenjord.dk
  3. Author:   christian.michael@groenjord.dk
  4. Type:     game/misc
  5.  
  6.  
  7. This is a guide for optimizing Quake modifications, as requested
  8. by some of those who have emailed me regarding qboost3. I have included
  9. some files from qboost3, which you can use in your own modifications.
  10.  
  11. ------------------------------------------------------------
  12.  
  13. Basic info:
  14.  
  15. Quake datafiles are usually stored in pakfiles.
  16. The internal structure of a pakfile looks like this:
  17.  
  18. PAK0.PAK/
  19.    progs/
  20.    maps/
  21.    sound/
  22.       ambience/
  23.       player/
  24.       misc/
  25.       ....
  26.    progs.dat
  27.    quake.rc
  28.  
  29. With regard to speeding up quake, the progs subdir is the most important one.
  30. It contains the models for players, monsters, weapons and items,
  31. except ammo-boxes.
  32. The format of these models are .spr and .mdl.
  33. Ammobox models are in the bsp format, and are found in maps/.
  34. Mdl files contains texture and 3d data, along with flags for emission of
  35. smoke, light, rotation and such. Especially light is cpu-intensive,
  36. which is why I replaced the missile.mdl in quake with the grenade.mdl,
  37. which only emits smoke. (qboost packages)
  38.  
  39. The model formats in quake are cross compatible, which means that you can
  40. use a sprite or a compiled mapfile(bsp) in place of a mdl, by renaming it.
  41. The shaft mdl (bolt2.mdl) can for optimal performance be replaced with
  42. bubble.spr, if the file is renamed to bolt2.mdl.
  43.  
  44. Secondly there is the possibility of using so called null mdl's.
  45. The removal of torches in the qboost packages was acomplished by
  46. creating an extremely small invalid map in a simple text editor.
  47. I compiled it with qbsp, and got the error: no filling performed.
  48. This was intentional, since it means that the the resulting bsp file
  49. will not be rendered in the game. I copied and renamed my null.bsp to
  50. "flame.mdl" and "flame2.mdl" and stored these files in the progs-subdir
  51. in my qboost gamedir.
  52. The very same null.mdl was used as gib.mdl, gib2.mdl and gib3.mdl.
  53.  
  54. Third, the rotating weaponmodels are quite complex.
  55. To optimize the rendering of theese, I created a simple model in
  56. the map format, compiled it with different pastel colored textures
  57. (for easier spotting in low resolutions), compiled it with qbsp and renamed
  58. the bsp flies to the desired weaponmodel.
  59.  
  60. This is a very simple way of removing unnecessary cosmetics from quake,
  61. bot modifications, missionpacks, ctf, teamfortress, malice and so on..
  62.  
  63. It is very important to know the name of datafile you want to replace,
  64. since there need not be any name conformity between the different quake
  65. modifications.
  66.  
  67. Malice is an example of such non conforming modelnames.
  68. I will try to illustrate the process of optimizing,
  69. using malice as an example.
  70.  
  71. Practical instructions:
  72.  
  73. Malice consists of serveral pakfiles. First you have to extract
  74. the contents of ALL of the pakfiles in a gamedir of your choice
  75. (ex: Malice_test/).
  76. The gamedir should have exactly the same structure as the pakfiles,
  77. which means a "progs" subdir, a "sound" subdir, including it's own range
  78. of subdirs, and so on...
  79. THE STRUCTURE MUST be intact, since the progs.dat instructs the executable
  80. to search for datafiles in speciffic dirs.
  81.  
  82. Now look at the progs subdir. There should be a file called rocket.mdl.
  83. Move this file to a "storage-dir", in case you want to use it again.
  84. Next, you take the mdl you might want to use in place of the original
  85. (grenade.mdl from original quake is an example), and rename it to rocket.mdl.
  86.  
  87. Now start Malice, using the Malice_test gamedir.
  88. Find a map where the rocketlauncher is easy to get to.
  89. Pick it up, and try launching a few rockets. You should now notice,
  90. that the rockets no longer emit light, and you have succesfully speeded up
  91. this aspect of the game.
  92. Now, you might consider replacing any complex models by simpler ones,
  93. or if there is any dynamic models in malice (like torches and fire),
  94. which doesn't serve any other purpose than "looking cool", you should
  95. consider replacing these with a null.mdl - Unfortunately you have to
  96. identify the datafiles by the "trial and error" method,
  97. since the names are not always logical.
  98.  
  99. To ease your quest for optimization, I have included a null.mdl,
  100. and some simple representations of weapons from qboost3.
  101. The weapons are named to conform with normal quake.
  102.   REMEMBER TO RENAME THESE, IN ORDER TO MAKE THEM REPRESENT
  103.   SOME PARTICULAR MODEL USED BY THE MOD YOU WANT TO OPTIMIZE.
  104.  
  105. These datafiles are made by me. You may use them as you like.
  106.  
  107.  
  108. You will have to locate the files to be replaced yourself.
  109.  
  110.  
  111.  
  112. I hope this guide will help you, since this is my last project which
  113. is aimed at both singleplayer and multiplayer quake.
  114.  
  115. I'm currently working on a servermod for original quake.
  116. It features observer cameras, different matchmodes with simultaneous starts,
  117. rocketarena support and other cool stuff.
  118. The server is controlled by the players, using a voting system.
  119. If anyone knows CRmod, which is the most widely used mod for
  120. quake deathmatch-tournaments, I can tell that my modification a lot like it.
  121. However, my modification is designed to be as fast as possible
  122. with regard to comsumption of bandwith and cpu-power requirements.
  123.  
  124.  
  125. Christian Michael.
  126.